1. Technical Field
The present invention relates in general to a system and method for managing the functionality of parallel Small Computer System Interface (SCSI) devices. More particularly, the present invention relates to a system and method for using SCSI commands and protocol to inherently control a SCSI device's functionality.
2. Description of the Related Art
Computer technology is advancing at an exceptional rate. Hard drive capacities, bus speeds, and processor speeds are doubling every few years. In many cases, a user may not require computer equipment with the latest advancement in technology. However, the user may be unsure of his future needs in which the user is faced with a decision of whether to purchase older technology computer equipment with a limited lifespan or spending more money to purchase newer technology computer equipment. For example, a user may require 10 gigabytes (GB) of storage capacity when he starts a business, but may soon require 100 GB of storage when the business becomes successful. A challenge found for a user is identifying a correct amount of computer equipment functionality that meets the user's current and future requirements.
Vendors offer an approach to support a user's changing functionality requirements which is termed “capacity on demand.” Using this approach, a vendor may sell or lease computer equipment to a user on a “functionality as needed” basis. A vendor provides a user with a system where a portion of the system's capability is enabled. For example, the system may include multiple processors and the user only pays for the processors he uses at the present time. In this example, the user later determines that he needs additional processors and contacts the vendor. The vendor provides a key to the user that the user enters into the system using a client console which results in client software enabling an additional processor or processors. Additional system memory may be enabled using the same protocol. The key may be distributed by a vendor to a user in various ways. For example, the user may receive a key telephonically. In another example, the user may receive an electronic key that is plugged into a special system port (i.e. USB port). In yet another example, the vendor may remotely log into the user's system and remotely enable additional resources.
A challenge found with existing “functionality as needed” approaches, however, is that functionality limitation management is enforced by higher-level system software and not within a device itself. For example, if a “functionality as needed” hard drive is moved to a different computer system and reformatted to destroy any data stored on the hard drive that identifies the hard drive or its limitation, the different computer system does not know the hard drive's allocated limitations and the entire capacity of the hard drive becomes available.
What is needed, therefore, is a system and method for managing a device's functionality level such that the functionality level is managed inherently in the device.